﻿using IM.Easy.Core.Audit;
using SqlSugar;

namespace IM.Easy.Entity.System
{
    /// <summary>
    /// 版本更新日志
    /// </summary>
    [SugarTable("ReleaseLog", TableDescription = "系统更新日志表")]
    public class ReleaseLog : AuditSnowflakeEntity
    {
        /// <summary>
        /// 主版本号
        /// </summary>
        [SugarColumn(ColumnDescription = "版本号的主版本部分")]
        public int Major { get; set; }

        /// <summary>
        /// 次版本号
        /// </summary>
        [SugarColumn(ColumnDescription = "版本号的次版本部分")]
        public int Minor { get; set; }

        /// <summary>
        /// 修订号
        /// </summary>
        [SugarColumn(ColumnDescription = "版本号的修订部分")]
        public int Patch { get; set; }

        /// <summary>
        /// 后缀(如-beta, -alpha)
        /// </summary>
        [SugarColumn(ColumnDescription = "后缀(如-beta, -alpha)s")]
        public string? Suffix { get; set; }

        /// <summary>
        /// 版本名称
        /// </summary>
        [SugarColumn(ColumnDescription = "版本的中文名称或标题", Length = 100)]
        public string? VersionName { get; set; }

        /// <summary>
        /// 发布日期
        /// </summary>
        [SugarColumn(ColumnDescription = "版本正式发布的日期")]
        public DateTime? ReleaseDate { get; set; }

        /// <summary>
        /// 详细描述
        /// </summary>
        [SugarColumn(ColumnDescription = "更新内容的详细说明", Length = 1000)]
        public string? Summary { get; set; }

        /// <summary>
        /// 相关链接
        /// </summary>
        [SugarColumn(ColumnDescription = "相关的文档或资源链接", Length = 255)]
        public string? RelatedUrl { get; set; }

        /// <summary>
        /// 状态(0:草稿, 1:已发布)
        /// </summary>
        [SugarColumn(ColumnDescription = "版本状态")]
        public int Status { get; set; }
    }

}
